// 简单的使用示例  
'use strict';
exports.main = async (event, context) => {
	// 四个appid分别对应四个unicloud，通过请求的云函数spaceId来区分使用哪个appid
	let appidObj = {
		"mp-3d3b9613-31a9-48df-b0d4-269977ac5538": "__UNI__FD7E240", //用户端-测试
		"mp-d9751a99-df49-4582-af60-0be56a65c95d": "__UNI__A200BAF", //用户端-正式
		"mp-aa1655c2-7b04-4b23-a31a-7de89c62aa90": "__UNI__9F4321B", //服务端-测试
		"mp-cfd48ae4-30f7-4c62-a1a7-a236cdcf1572": "__UNI__D242B03" //服务端-正式

	}
	let beginning = (context.SPACEINFO.spaceId == 'mp-3d3b9613-31a9-48df-b0d4-269977ac5538' || context.SPACEINFO.spaceId == 'mp-d9751a99-df49-4582-af60-0be56a65c95d') ? 'user' : 'service'
	const uniPush = uniCloud.getPushManager({
		appId: appidObj[context.SPACEINFO.spaceId]
	})
	// 获取参数
	//通过接口获取时注销此数据
	// event.body = JSON.stringify({
	// 	"push_clientid": "452d3179ea04a68ffbc66b96c548cbc8", //填写上一步在uni-app客户端获取到的客户端推送标识push_clientid  
	// 	"title": "通知栏显示的标题",
	// 	"content": "通知栏显示的内容",
	// 	"payload": {
	// 		"redirectType":"99"
	// 	}
	// })
	let body = event.body
	if (body.push_clientid == '') {
		return {
			"code": -1,
			"msg": "参数错误",
			"event": JSON.stringify(event)
		}
	}
	let data = {}
	if (body) {
		data = JSON.parse(body)
		//设置接收消息后需要多久执行的时间
		data.payload.time = 1000
	} else {
		return {
			"code": -1,
			"msg": "请使用post请求data传参",
			"event": JSON.stringify(event)
		}
	}

	let redirectType = data.payload.redirectType
	switch (Number(redirectType)) {
		case 1:
			break;
		default:
			if (beginning == 'user') {
				//跳转的路径
				data.payload.path = "/pages/message/index"
				//此跳转是否需要登录
				data.payload.hasLogin = true
				//跳转的方式类型
				data.payload.jumpType = "switchTab"
			} else {
				//跳转的路径
				data.payload.path = "/pages/myStudio/index/index?currentPages=4"
				//此跳转是否需要登录
				data.payload.hasLogin = true
				//跳转的方式类型
				data.payload.jumpType = "reLaunch"
			}

	}
	let res = await uniPush.sendMessage({
		...data,
		"force_notification": true, //填写true，客户端就会对在线消息自动创建“通知栏消息”。
		"options": {
			"HW": {
				// 值为int 类型。1 表示华为测试消息，华为每个应用每日可发送该测试消息500条。此 target_user_type 参数请勿发布至线上。      
				"/message/android/target_user_type": 1
			},
			"HO": {
				//值为int 类型。1 表示测试推送，不填默认为0。荣耀每个应用每日可发送该测试消息1000条。此测试参数请勿发布至线上。  
				"/android/targetUserType": 1
			},
			"VV": {
				//值为int 类型。0 表示正式推送；1 表示测试推送，不填默认为0。此 pushMode 参数请勿发布至线上。  
				"/pushMode": 1
			},
			"XM": {
				//新小米消息分类下，私信公信id都必须要传，否则请求小米厂商接口会被拦截  
				"/extra.channel_id": "填写小米平台申请的渠道id"
			}
		}
	})
	return res
};


// ec51246a439582af1351f8c8dcf09303
// 048c833179cfef566a626e1f0a86ff02
// 452d3179ea04a68ffbc66b96c548cbc8
// dd4299d3cc7c01b7e780f3f49408c2a7